<template>
  <div class="login">
  <el-form ref="form" :rules="rules"   :model="form" class="container">
    <el-form-item >
      <div class="avatar">
        <img src="../assets/avatar.jpg" alt="">
      </div>
      </el-form-item>
  <el-form-item prop="uername">
    <el-input v-model="form.username"  placeholder="账号" prefix-icon="myicon myicon-user"></el-input>
  </el-form-item>
  <el-form-item  prop="password">                                                                         <!-- vue使用element-ui的el-input监听不了回车事件解决 -->
    <el-input v-model="form.password"  placeholder="密码" prefix-icon="myicon myicon-key" type="password" @keydown.native.enter="submit('form')"></el-input>
  </el-form-item>
  <el-form-item><el-button type="primary" class="login-btn" @click="submit('form')">提交</el-button></el-form-item>
  </el-form>
  </div>
</template>
<script>

import { user } from "@/api";

export default {
  data(){
      return{
         form:{
          username:'',
          password:''
         },
         rules:{
           username:[{ required: true, message: '请输入账号', trigger: 'blur' }],
           password:[{ required: true, message: '请输入密码', trigger: 'blur' }]
         }
      }
  },
  methods:{
    submit(form){
        this.$refs[form].validate((valid) => {
          if (valid) {
            user(this.form).then(res=>{
              // console.log(res,11111);
            if(res.meta.status ==200){
              console.log('成功');
              localStorage.setItem('mytoken',res.data.token)

              this.$store.commit('setusername',res.data.username)

              this.$router.push({name:'home'});
            }else {
              this.$message({
              message: res.meta.msg,
              type: 'error'
        });
           
            }})
            
          }else{
            alert('校验不通过')
          }
        });
    }
  }
};
</script>
<style lang="scss" scoped>
.login {
  position: fixed;
  width: 100%;
  height: 100%;
  background-color: #2f4050;

  .container {
    position: absolute;
    left: 0;
    right: 0;
    width: 400px;
    padding: 0px 40px 15px 40px;
    margin: 200px auto;
    background: white;
    .avatar {
      position: relative;
      left: 50%;
      width: 120px;
      height: 120px;
      margin-left: -60px;
      margin-top: -60px;
      box-sizing: border-box;
      border-radius: 50%;
      border: 10px solid #fff;
      box-shadow: 0 1px 5px #ccc;
      overflow: hidden;
    }
    .login-btn {
      width: 100%;
    }
  }
}
</style>
